<?php
	class PropiedadesController extends AppController{
		
		public $helpers = array ('Html','Form');
		var $uses = array('Imagene','Operacione','Categoria','Relacionada','Propiedade');
		
		function index(){			
			$propiedades = $this->Propiedade->find('all');						
			$this->set('propiedades',$propiedades);
		}
	
	
		public function add() {
			if ($this->request->is('post')) {
				if ($this->Propiedade->save($this->request->data)) {
					$this->Session->setFlash('Propiedad añadida correctamente','success');
					$this->redirect(array('action' => 'index'));					
				}
			}
			else{
				$this->set('categorias',$this->Categoria->find('all'));
				$this->set('operaciones',$this->Operacione->find('all'));
			}
		}
		
		function delete($id) {
			if (!$this->request->is('post')) {
				throw new MethodNotAllowedException();
			}
			if ($this->Propiedade->delete($id)) {
				$this->redirect(array('action' => 'index'));
			}
		}
		
		function edit($id = null) {
			$this->Propiedade->id = $id;
			if ($this->request->is('get')) {
				$this->request->data = $this->Propiedade->read();
				$this->set('valDestacada',$this->Propiedade->read('Destacada'));
				$this->set('categorias',$this->Categoria->find('all'));
				$this->set('operaciones',$this->Operacione->find('all'));
			} else {
				if ($this->Propiedade->save($this->request->data)) {
					$this->Session->setFlash('Modificaciones guardadas correctamente','success');
					$this->redirect(array('action' => 'index'));
				}
				else{
					$this->Session->setFlash('Error al guardar cambios!!');
				}
			}
		}
		function editImg($id = null){
			$this->Propiedade->id = $id;
			if($this->request->is('get')){
				$this->request->data = $this->Propiedade->read();				
			}
			else{
				if ($this->Propiedade->save($this->request->data)) {
					$this->Session->setFlash('Modificaciones guardadas correctamente','success');
					$this->redirect(array('action' => 'index'));
				}
				else{
					$this->Session->setFlash('Error al guardar cambios!!');
				}
			}
		}
		
		function editRel($id = null){
			$this->Propiedade->id = $id;
			$this->set("Propiedades",$this->Propiedade->find('all'));
			if($this->request->is('get')){
				$this->request->data = $this->Propiedade->read();				
			}
			else{
				$this->addRel($id);				
			}
		}
		
		
		function addRel($id = null){
			$prop = $this->Propiedade->find('first',array(
							'conditions' => array(
								'Propiedade.id' => $id)
							)
						);									
			if ($this->request->is('post')) {
				$this->Relacionada->deleteAll(array('propiedad'=> $id));
				$sels = $this->request->data['Relacion']['seleccionadas'];
				$data = array();
				foreach($sels as $sel){
					array_push($data,array('propiedad' => $id, 'relacionada' => $sel));
				}
				print_r($data);
				if($this->Relacionada->saveMany($data)){
					$this->Session->setFlash('Modificaciones guardadas correctamente','success');
					$this->redirect(array('action' => 'editRel',$id));
				}
			}			
		}
	}
?>